#ifndef REALOPERATION_H_INCLUDED
#define REALOPERATION_H_INCLUDED

#include "../formula/formulaelement.h"
#include "../util/doubletostring.h"
#include <string>

class RealOperation : public FormulaElement {
    private:

    public:
        RealOperation();
        // Constructor
        virtual ~RealOperation()=0;
        // virtual destructor
        std::string& toString() { return DoubleToString::cts(getSign()); };
        // mapped getSign() to classic toString
        virtual char getSign()=0;
        // get operation sign like +, /, -, *, ...
        void mutate() {};
        // empty mutate dummy
        void createHumanReadeableToString(LinkedList<std::string>& toStringStack);
        // add this element to the human readeable toString
};

#endif // REALOPERATION_H_INCLUDED
